package com.ruoyi.material.mapper;

import java.util.List;
import com.ruoyi.material.domain.Materia;
import com.ruoyi.workorder.domain.WorkOrder;
import org.apache.ibatis.annotations.Param;

/**
 * 材料Mapper接口
 * 
 * @author renyuxin
 * @date 2024-05-29
 */
public interface MateriaMapper 
{
    /**
     * 查询材料
     * 
     * @param materiaId 材料主键
     * @return 材料
     */
    public Materia selectMateriaByMateriaId(Long materiaId);

    /**
     * 查询材料列表
     * 
     * @param materia 材料
     * @return 材料集合
     */
    public List<Materia> selectMateriaList(Materia materia);

    /**
     * 新增材料
     * 
     * @param materia 材料
     * @return 结果
     */
    public int insertMateria(Materia materia);

    /**
     * 修改材料
     * 
     * @param materia 材料
     * @return 结果
     */
    public int updateMateria(Materia materia);

    /**
     * 删除材料
     * 
     * @param materiaId 材料主键
     * @return 结果
     */
    public int deleteMateriaByMateriaId(Long materiaId);

    /**
     * 批量删除材料
     * 
     * @param materiaIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMateriaByMateriaIds(Long[] materiaIds);


    List<WorkOrder> selectMateriaListForUser(@Param("materia") Materia materia, @Param("userId") Long userId);


    Long checkNameUnique(Materia materia);

    List<Materia> selectMateriaListByTypeId(Long materiatypeId);
}
